home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 July / EnigmA AMIGA RUN 09 (1996)(G.R. Edizioni)(IT)[!][issue 1996-07 & 08][EARSAN CD VIII].iso / earcd / dev1 / trtnbl21.lha / TRITONBLITZ / TritonProgress.bb2 < prev   
Text File  |  1996-05-20  |  3KB  |  122 lines

  1. ;/*
  2. ; *  Triton - The object oriented GUI creation system For the AMIGA
  3. ; *  Written by Stefan Zeiger in 1993-1995
  4. ; *
  5. ; *  (c) 1993-1995 by Stefan Zeiger
  6. ; *  You are hereby allowed To Use this source OR parts
  7. ; *  of it For creating programs For AmigaOS which Use the
  8. ; *  Triton GUI creation system. All other rights reserved.
  9. ; *
  10. ; *  progind.c - Progress indicator demo
  11. ; *
  12. ; */ NOW WITH QUICKHELP!
  13.  
  14.  
  15. INCLUDE "blitz2:bbincludes/libraries/triton.bb2"
  16.  
  17. NoCli:WBStartup
  18.  
  19. #ID_MAIN_GADGET_STOP=1
  20. #ID_MAIN_PROGIND=2
  21.  
  22. close_me.b=False
  23. *trmsg.TR_Message=0
  24.  
  25. title$="Progress Indicator Demo"
  26. appname$="trProgIndDemo"
  27. version$="1.0"
  28.  
  29. i.l=0
  30.  
  31. Dim apptags.TagItem(20)
  32.  
  33. InitTagList 1,100
  34. Use TagList 1
  35.  
  36. AddTags !WindowID{1}
  37. AddTags !WindowTitle{Null("Progress Indicator Demo")}
  38. AddTags !WindowPosition{#TRWP_CENTERDISPLAY}
  39. AddTags !WindowFlags{#TRWF_NOCLOSEGADGET OR #TRWF_NOESCCLOSE},!QuickHelpOn{1}
  40. AddTags !VertGroupA,!Space,!CenteredText{Null("Working...")}
  41. AddTags !Space,!HorizGroupA
  42. AddTags !Space,!Progress{100,0,#ID_MAIN_PROGIND}
  43. AddTags !Space,!EndGroup
  44.  
  45. AddTags !SpaceS,!HorizGroupA,!Space
  46. AddTags !HorizGroupSA, !TextN{Null("000%")}, !Space, !TextN{Null("050%")}, !Space, !TextN{Null("100%")}, !EndGroup
  47.  
  48. AddTags !Space, !EndGroup
  49. AddTags !Space, !HorizGroupSA
  50. AddTags !Space, !ButtonE{Null("_Stop"),#ID_MAIN_GADGET_STOP},!QuickHelp{Null("Quit Progress Demo")}
  51. AddTags !Space, !EndGroup
  52. AddTags !Space, !EndGroup
  53. AddTags #TAG_END,0
  54.  
  55. apptags(1)\ti_Tag=#TRCA_Name,&appname$
  56. apptags(2)\ti_Tag=#TRCA_Version,&version$
  57. apptags(3)\ti_Tag=#TAG_END
  58.  
  59.  
  60. application.l=TR_CreateApp_(&apptags(1))
  61. If application
  62.  
  63.   project.l=TR_OpenProject_(application,TagList)
  64.  
  65.   If (project)
  66.  
  67.     user_closed=0
  68.     i=0
  69.  
  70.       While ( (i<100) AND (user_closed=0) )
  71.  
  72.         TR_Wait_ application,0
  73.  
  74.         i+1
  75.  
  76.         ;/* Display our progress */
  77.  
  78.         TR_SetAttribute_ project,#ID_MAIN_PROGIND,#TRAT_Value,i
  79.  
  80. ;      /* AND Check For the 'Stop' gadget. Note that you always have To INCLUDE
  81. ;         such a TR_GetMsg() loop, Even If there's no gadget For stopping. You
  82. ;         have To Call TR_GetMsg() regularly so that Triton may react On the
  83. ;         user's wishes, e.g. redrawing the Window contents after a resize. */
  84.  
  85.         *trmsg=TR_GetMsg_(application)
  86.  
  87.         While (*trmsg)
  88.  
  89.           If (*trmsg\trm_Project=project)
  90.             Select *trmsg\trm_Class
  91.  
  92.             Case #TRMS_CLOSEWINDOW:
  93.               user_closed=True
  94.  
  95.             Case #TRMS_ERROR:
  96.               NPrint Peek$(TR_GetErrorString_(*trmsg\trm_Data))
  97.  
  98.             Case #TRMS_ACTION:
  99.               If (*trmsg\trm_ID=#ID_MAIN_GADGET_STOP) Then user_closed=True
  100.             End Select
  101.           EndIf
  102.  
  103.           TR_ReplyMsg_ *trmsg
  104.  
  105.           Delay_(10)
  106.  
  107.           *trmsg=TR_GetMsg_(application)
  108.         End While
  109.       End While
  110.  
  111.     TR_CloseProject_(project);
  112.   Else
  113.     NPrint "Can't open window."
  114.   EndIf
  115.   TR_DeleteApp_ application
  116.   Free TagList 1
  117. Else
  118.   NPrint "Unable to create application"
  119. EndIf
  120. End
  121.  
  122.